                                                                                                                          
\section{自变量选择与逐步回归}

\textbf{4} 试述前进法的思想、方法。

\begin{proof}[\textbf{答}]

前进法的思想是变量由少到多，每次增加一个，直至没有可以引入的变量为止。具体做法为：使用所有的变量对因变量$y$建立一元线性回归方程，并分别计算这$m$个一元线性回归方程的$m$个回归系数的$F$检验值，记作$\{F_{1}^{1},F_{2}^{1},\cdots,F_{m}^{1}\}$，记
\begin{equation}
    F_{j}^{1} = \max(F_{1}^{1},\cdots,F_{m}^{1}) \nonumber
\end{equation}
对于给定的显著性水平$\alpha$,如果$F_{j}^{1}\ge F_{\alpha}(1, n - 2)$，则将变量$x_{j}$引入回归方程，不失一般性，可以假定$x_{j}$为$x_{1}$
接下来用$x_{1},x_{2},(x_{1},x_{3}),\cdots,(x_{1},x_{m})$对因变量$y$建立二元线性回归方程，对这$m-1$个回归方程中$x_{2},x_{3},\cdots,x_{m}$的回归系数进行$F$检验，计算$F$值，记作$\{F_{1}^{2},F_{2}^{2},\cdots,F_{m}^{2}\}$，记其最大值为：
\begin{equation}
    F_{j}^{2} = \max(F_{2}^{2},\cdots,F_{m}^{2})
\end{equation}
如果$F_{j}^{1}\ge F_{\alpha}(1, n - 3)$，则将变量$x_{j}$引入回归方程，如此往复，直至没有变量可以引入方程为止。

\end{proof}

\textbf{4} 试述后退法的思想、方法。

\begin{proof}[\textbf{答}]
后退法的思想是首先利用$m$个回归变量建立一个回归方程，对其$m$个回归系数做$F$检验记为$\{F_{1}^{m},\{F_{2}^{m},\cdots,F_{m}^{m}\}$，选其最小者记为：
\begin{equation}
    F_{j}^{1} = \min(F_{1}^{m},F_{2}^{m},\cdot,F_{m}^{1}) \nonumber
\end{equation}
给定显著性水平$\alpha$, 若$F_{j}^{m}\le F_{\alpha}(m, n - m - 1)$,则将$x_{j}$从回归方程中剔除。不失一般性，假定$x_{j}$为$x_{1}$。继续使用$x_{2},x_{3},\cdots,x_{m}$,并进行回归系数的$F$检验，计算出$F_{j}^{m-1}$,若$F_{j}^{m-1}\le F_{\alpha}(1, n - (m-1)-1)$,则继续剔除，如此往复直到没有可以剔除的自变量为止。
\end{proof}

\textbf{5} 前进法后退发各有哪些优缺点？

\begin{proof}[\textbf{答}]
前进法和后退法显然都有明显的不足，前进法可能存在这样的问题，即不能反映引进新自变量后的变化情况。因为某个自变量开始可能是显著的，当引入其他自变量后它就变得不显著了，但是也没有机会将其剔除。后退法的明显不足是，一开始把全部自变量引入回归方程，这样计算量很大。如果有些不太重要的自变量，一开始就不引入，就可以减少一些计算量，再就是一旦某个自变量被剔除，它就再也没有机会进入回归方程。如果我们的自变量$x_{1},x_{2},\cdots,x_{m}$是完全独立的，那么在取$\alpha_{entry}=\alpha_{removal}$，前进法与后退法所建立的回归方程是相同的，然而在实际中很难碰到自变量间无关的情况。在绝大部分问题中，自变量间都存在一定的相关性。这就使得随回归方程中变量的增加和减少，某些自变量对因变量y的影响可能会发生变化。如果几个自变量的联合效应对$y$有重要作用，但是单个自变量对$y$的作用不显著，那么前进法就不能引入这几个自变量，而后退法却可以保留这几个变量。
\end{proof}

\textbf{6} 试述逐步回归法的思想方法。

\begin{proof}[\textbf{答}]
逐步回归的基本思想是有进有出。具体做法是将变量一个一个地引入，每引入一个自变量后，对已选入的变量进行逐个检验，当远引入的变量由于后面变量的引入而变得不再显著时，要将其剔除。引入一个变量或从回归方程中剔除一个变量，为逐步回归的一部，每一步都要进行$F$检验，以确保每次引入新变量之前，回归方程中只包含显著变量。这个过程反复进行，直到既无显著的自变量选入回归方程，又无不显著的自变量从回归方程剔除为止。
\end{proof}

\textbf{9}
备注：R中Step函数使用的是AIC准则进行逐步回归，参考文件使用命令：help(step)。
\begin{lstlisting}[language=R]
        x1 <- c(1018.4,1258.9,1359.4,1545.6,1761.6,
        	  1960.8,2295.5,2541.6,2763.9,3204.3,
        	  3831.0,4228.0,5017.0,5288.6,5800.0,
        	  6882.1,9457.2,11993.0,13844.2,14211.2,
                14599.6)
        x2 <- c(1607.0,1769.7,1996.5,2048.4,2162.3,
                2375.6,2789.0,3448.7,3967.0,4585.8,
                5777.2,6484.0,6858.0,8087.1,10284.5,
        	  14143.8,19359.6,24718.3,29082.6,32412.1,33429.8)
        x3 <- c(138.2,143.8,195.5,207.1,220.7,
        	  270.6,316.7,417.9,525.7,665.8,
        	  810.0,794.0,859.4,1015.1,1415.0,
                2284.7,3012.6,3819.6,4530.5,4810.6,
               5262.0)
        x4 <- c(96259,97542,98705,100072,101654,
        	  103008,104357,105851,107507,109300,
        	  111026,112704,114333,115823,117171,
        	  118517,119850,121121,122389,123626,
        	  124810)
        x5 <- c(2239.1,2619.4,2976.1,3309.1,3637.9,
                4020.5,4694.5,5773.0,6542.0,7451.2,
        	  9360.1,10556.5,11365.2,13145.9,15952.1,
        	  20182.1,26796.0,33635.0,40003.9,43579.4,
        	  46405.9)
        x6 <- c(50760,39370,44530,39790,33130,
        	  34710,31890,44370,47140,42090,
        	  50870,46990,38470,55470,51330,
                48830,55040,45821,46989,53429,
        	  50145)
        y <- c(1132.3,1146.4,1159.9,1175.8,1212.3,
        	 1367.0,1642.9,2004.8,2122.0,2199.4,
        	 2357.2,2664.9,2937.1,3149.5,3483.4,
        	 4349.0,5218.1,6242.2,7408.0,8651.1,
        	 9876.0)
        
        model <- lm(y~x1+x2+x3+x4+x5+x6)
        step(model,direction='backward')
        step(model,direction='both')
        
        
        Start:  AIC=226.27
        y ~ x1 + x2 + x3 + x4 + x5 + x6
        
               Df Sum of Sq     RSS    AIC
        - x4    1       278  515553 224.28
        - x3    1     20819  536094 225.10
        - x6    1     31691  546965 225.52
        <none>               515274 226.27
        - x2    1     88563  603837 227.60
        - x1    1    542622 1057897 239.37
        - x5    1   1011123 1526397 247.07
        
        Step:  AIC=224.28
        y ~ x1 + x2 + x3 + x5 + x6
        
               Df Sum of Sq     RSS    AIC
        - x3    1     22786  538338 223.19
        - x6    1     39648  555200 223.83
        <none>               515553 224.28
        - x2    1    190168  705720 228.87
        - x1    1    870167 1385719 243.04
        - x5    1   1713276 2228829 253.02
        
        Step:  AIC=223.19
        y ~ x1 + x2 + x5 + x6
        
               Df Sum of Sq     RSS    AIC
        - x6    1     31803  570141 222.39
        <none>               538338 223.19
        - x2    1    566292 1104630 236.28
        - x1    1    847821 1386159 241.05
        - x5    1   1704799 2243137 251.16
        
        Step:  AIC=222.39
        y ~ x1 + x2 + x5
        
               Df Sum of Sq     RSS    AIC
        <none>               570141 222.39
        - x2    1    534923 1105064 234.29
        - x1    1    817184 1387324 239.07
        - x5    1   1710989 2281130 249.51
        
        Call:
        lm(formula = y ~ x1 + x2 + x5)
        
        Coefficients:
        (Intercept)           x1           x2           x5  
           874.6002      -0.6112      -0.3531       0.6367  
        
        > step(model,direction='both')
        Start:  AIC=226.27
        y ~ x1 + x2 + x3 + x4 + x5 + x6
        
               Df Sum of Sq     RSS    AIC
        - x4    1       278  515553 224.28
        - x3    1     20819  536094 225.10
        - x6    1     31691  546965 225.52
        <none>               515274 226.27
        - x2    1     88563  603837 227.60
        - x1    1    542622 1057897 239.37
        - x5    1   1011123 1526397 247.07
        
        Step:  AIC=224.28
        y ~ x1 + x2 + x3 + x5 + x6
        
               Df Sum of Sq     RSS    AIC
        - x3    1     22786  538338 223.19
        - x6    1     39648  555200 223.83
        <none>               515553 224.28
        + x4    1       278  515274 226.27
        - x2    1    190168  705720 228.87
        - x1    1    870167 1385719 243.04
        - x5    1   1713276 2228829 253.02
        
        Step:  AIC=223.19
        y ~ x1 + x2 + x5 + x6
        
               Df Sum of Sq     RSS    AIC
        - x6    1     31803  570141 222.39
        <none>               538338 223.19
        + x3    1     22786  515553 224.28
        + x4    1      2244  536094 225.10
        - x2    1    566292 1104630 236.28
        - x1    1    847821 1386159 241.05
        - x5    1   1704799 2243137 251.16
        
        Step:  AIC=222.39
        y ~ x1 + x2 + x5
        
               Df Sum of Sq     RSS    AIC
        <none>               570141 222.39
        + x6    1     31803  538338 223.19
        + x3    1     14941  555200 223.83
        + x4    1     11387  558754 223.97
        - x2    1    534923 1105064 234.29
        - x1    1    817184 1387324 239.07
        - x5    1   1710989 2281130 249.51
        
        Call:
        lm(formula = y ~ x1 + x2 + x5)
        Coefficients:
        (Intercept)           x1           x2           x5  
           874.6002      -0.6112      -0.3531       0.6367 
\end{lstlisting}
